package cn.wolfcode.wolf2w.business.service;

import cn.wolfcode.wolf2w.business.query.StrategyQuery;
import cn.wolfcode.wolf2w.api.domain.Strategy;
import cn.wolfcode.wolf2w.business.vo.ThemeVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 攻略Service接口
 * 
 * @author 浪兎兎
 * @date 2025-05-30
 */
public interface IStrategyService extends IService<Strategy>{
    /**
    * 分页
    * @param qo
    * @return
    */
    IPage<Strategy> queryPage(StrategyQuery qo);

    List<Strategy> getViewNumberTop3(Long destId);

    int strategySave(Strategy strategy);

    Map<String, Object> getViewStatusNumber(Long sid);

    Map<String, Object> favor(Long sid);

    boolean isFavor(Long sid, Long uid);

    Map<String, Object> thumbsup(Long sid);

    Map<String, Object> getReplyNumber(Long sid);

    void statusPersistence();

    void strategyRankStatis();

    List<ThemeVO> queryTheme();

    void statisHashPersistence();

    void reSendStrategyMessage();
}
